import request from '@/utils/request'

/**
 * 分页查询角色列表
 */
export function getRoleListAPI({ page, pagesize }) {
  return request.get('/sys/role', {
    params: {
      page, // 当前页码
      pagesize // 每页条数
    }
  })
}

/**
 * 新增角色
 */
export function addRoleAPI({ name, description, state }) {
  return request.post('/sys/role', {
    name, // 角色名称
    description, // 角色描述
    state // 角色状态1启用0不启用
  })
}

/**
 * 更新角色
 */
export function updateRoleAPI({ id, name, description, state }) {
  return request.put(`/sys/role/${id}`, {
    id, // 角色id
    name, // 角色名称
    description, // 角色描述
    state // 角色状态1启用0不启用
  })
}

/**
 * 删除角色
 */
export function deleteRoleAPI(id) {
  return request.delete(`/sys/role/${id}`)
}

/**
 * 获取角色详情
 */
export function getRoleDetailAPI(id) {
  return request.get(`/sys/role/${id}`)
}

/**
 * 获取已启用的角色列表
 */
export function getEnabledRoleListAPI() {
  return request.get('/sys/role/list/enabled')
}

/**
 * 给角色分配权限
 *
 * @param {Object} data 请求参数对象
 * @param {integer} data.id 角色id
 * @param {Array} data.permIds 权限id数组
 *
 * @returns {Promise}
 */
export function assignPermissionsAPI({ id, permIds }) {
  return request.put(`/sys/role/assignPrem`, {
    id,
    permIds
  })
}
